home *** CD-ROM | disk | FTP | other *** search
- #ifndef __NET_HPP_
- #define __NET_HPP_
-
- #include "macs.hpp"
- #include "packet.hpp"
-
- enum { SOCK_BAD_HOST = -1,
- SOCK_CONNECT_FAIL = -2,
- SOCK_BIND_FAIL = -3,
- SOCK_LISTEN_FAIL = -4,
- SOCK_NAMELOOKUP_FAIL= -5,
- SOCK_ACCEPT_FAIL = -6,
- SOCK_WRITE_FAIL = -7,
- SOCK_CREATE_FAIL = -8,
- SOCK_SELECT_FAIL = -9
- };
-
- enum { NONET_PROTOCOL, IPX_PROTOCOL, TCPIP_PROTOCOL } ;
-
- extern char last_sock_err[200];
- extern int current_sock_err;
-
- class out_socket
- {
- public :
- virtual int ready_to_read() = 0;
- virtual int ready_to_write() = 0;
- virtual int send(packet &pk) = 0;
- virtual int get(packet &pk) = 0;
- virtual ~out_socket();
- } ;
-
-
- class in_socket
- {
- public :
- virtual out_socket *check_for_connect() = 0;
- virtual ~in_socket() { ; }
- } ;
-
-
- in_socket *create_in_socket(int port);
- out_socket *create_out_socket(char *name, int port);
- uchar *name_to_address(char *name, int protocol); // should be defined externally
- // returns 4 bytes for TCPIP
- // 4 (net number) 6 node number for IPX
-
- uchar *get_local_address(); // same format as above (be sure to jfree this)
-
-
- int net_init(int protocol);
- void net_uninit();
-
- #endif
-
-